1. Field of the Invention
Aspects of the present invention relate to updating operating systems and programs. More particularly, aspects of the present invention relate to updating one or more computer programs and various settings and data in an operating system.
2. Description of Related Art
Computing systems exist in a number of languages. A number of software applications and operating systems are created in English then ported over to other languages. The localized versions of the operating systems and applications alter a number of items in these various applications and operating systems. For instance, registry settings, file names, folder names and other items may reflect the local language as opposed to the language in which the application or operating system was created.
For freshly installed English versions of an operating system, all these strings would be English, thereby eliminating the need to migrate the operating system. However, non-English versions of applications and operating systems may be difficult to upgrade or migrate. For instance, FIG. 9 shows two systems (applications or operating systems) 901 and 904. System 901 is a German version and system 904 is the Japanese version. Each system includes a common binary core 902 and 905. However, each has its own respective user interface 903 and 906. Finally, the remainder of the each system 901 and 904 (including registry settings, file names, folder names, and the like) reflects the localized language (here, German and Japanese, respectively).
Servicing applications that have been released in various languages can become problematic. For instance, one would need to service an application or operating system in all languages in which the application or operating system was released to provide for consistent service among all languages. Updates 907 to the applications or operating systems 901 and 904 are problematic to install as each local version of an application or operating system would need its own respective update in its own localized language. If an application or operating system is produced in the top 100 languages of the world, than each update would need to be modified for each localized language. For products that constantly undergo updates, creating and releasing a separate upgrade for each language is extremely cumbersome and not cost efficient, as most companies would rather direct their efforts to upgrades than worry about each specific language for an update.
It would be beneficial to allow applications and operating systems to be migrated to a common language to use a common update. This may be referred to as cross language migration. However, the main issue with cross language migration is caused by the localized system folders and file paths. This information is manifest in the localized system folder names, how these names are treated in the registry, and how applications use them (and application data) in the localized system.